`define ALUOP_NOP   6'b000000

`define ALUOP_ADD   6'b000001    //ADD,ADDI
`define ALUOP_SUB   6'b000010    //SUB   
`define ALUOP_SLT   6'b000011    //signed比较，小于rd写入1,SLT,SLTI,
`define ALUOP_SLTU  6'b000100    //unsigned比较，小于rd,写入1，SLTI,SLTIU
`define ALUOP_AND   6'b000101
`define ALUOP_OR    6'b000110
`define ALUOP_XOR   6'b000111
`define ALUOP_SLL   6'b001000    
`define ALUOP_SRL   6'b001001
`define ALUOP_SRA   6'b001010

`define ALUOP_ADDW  6'b001011   //ADDW
`define ALUOP_SUBW  6'b001100   //SUBW
`define ALUOP_ADDIW 6'b001101   //ADDIW
`define ALUOP_SLLW  6'b001110   //SLLW,SLLIW
`define ALUOP_SRLW  6'b001111   //SRLW,SRLIW
`define ALUOP_SRAW  6'b010000   //SRAW,SRAIW

`define ALUOP_LB    6'b010001
`define ALUOP_LH    6'b010010
`define ALUOP_LW    6'b010011
`define ALUOP_LD    6'b010100
`define ALUOP_LBU   6'b010101
`define ALUOP_LHU   6'b010110
`define ALUOP_LWU   6'b010111

`define ALUOP_SB    6'b011000
`define ALUOP_SH    6'b011001
`define ALUOP_SW    6'b011010
`define ALUOP_SD    6'b011011

`define ALUOP_JAL   6'b011100
`define ALUOP_JALR  6'b011101
`define ALUOP_LUI   6'b011110
`define ALUOP_AUIPC 6'b011111

`define ALUOP_BEQ   6'b100000
`define ALUOP_BNE   6'b100001
`define ALUOP_BLT   6'b100010
`define ALUOP_BLTU  6'b100011
`define ALUOP_BGE   6'b100100
`define ALUOP_BGEU  6'b100101

//自定义指令
`define ALUOP_FALT  6'b110000
`define ALUOP_PUTCH 6'b110001

//csr
`define ALUOP_CSRRW 6'b110010
`define ALUOP_CSRRS 6'b110011
`define ALUOP_CSRRC 6'b110100
`define ALUOP_ECALL 6'b110101


